export const formatTime = date => {
	const year = date.getFullYear()
	const month = date.getMonth() + 1
	const day = date.getDate()
	const hour = date.getHours()
	const minute = date.getMinutes()
	const second = date.getSeconds()

	return (
		[year, month, day].map(formatNumber).join('/') +
		' ' + [hour, minute, second].map(formatNumber).join(':')
	)
}
export const formatDate = date => {
	const year = date.getFullYear()
	const month = date.getMonth() + 1
	const day = date.getDate()

	return [year, month, day].map(formatNumber).join('-')
}

// 日期格式化
export const strFormatDate = function(value) {
	var crtTime = new Date(value)
	return dateFormat('yyyy-MM-dd', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化
export const strFormatTime = function(value) {
	var crtTime = new Date(value)
	return dateFormat('yyyy-MM-dd hh:mm:ss', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化不带秒
export const strFormatMinutes = function(value) {
	var crtTime = new Date(value)
	return dateFormat('yyyy年MM月dd日 hh:mm', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化不带秒
export const strFormatMinutesColumn = function(value) {
	var crtTime = new Date(value)
	return dateFormat('yyyy-MM-dd hh:mm', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 日期格式化不带年时间
export const strFormatMonth = function(value) {
	var crtTime = new Date(value)
	return dateFormat('MM月dd日', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化不带年秒
export const strFormatMonthTime = function(value) {
	var crtTime = new Date(value)
	return dateFormat('MM月dd日 hh:mm', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化只带小时分钟
export const strFormatHourTime = function(value) {
	var crtTime = new Date(value)
	return dateFormat('hh:mm', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化只带小时分钟
export const strFormatWeek = function(value) {
	var crtTime = new Date(value)
	return "星期" + "日一二三四五六".charAt(crtTime.getDay());
}
// 格式化只有年月
export const strFormatYearMonth = function(value) {
	var crtTime = new Date(value)
	return dateFormat('yyyy-MM', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化只带时分秒
export const strFormatHourMSTime = function(value) {
	var crtTime = new Date(value)
	return dateFormat('hh:mm:ss', crtTime) //直接调用公共JS里面的时间类处理的办法
}

// 时间格式化不带秒+不另加八小时value.replace(/-/g,'/')
export const strFormatMinutesNoEightH = function(value) {
	var crtTime = new Date(value.replace(/-/g, '/'))
	return dateFormat('yyyy年MM月dd日 hh:mm', crtTime) //直接调用公共JS里面的时间类处理的办法
}

// 将日期转换为时间戳
export const dateToTimestamp = function(value) {
	var crtTime = new Date(value.replace(/-/g, '/'))
	return Date.parse(crtTime) //直接调用公共JS里面的时间类处理的办法
}

export const dateFormat = function(fmt, date) {
	//author: meizz
	var o = {
		'M+': date.getMonth() + 1, //月份
		'd+': date.getDate(), //日
		'h+': date.getHours(), //小时
		'm+': date.getMinutes(), //分
		's+': date.getSeconds(), //秒
		'q+': Math.floor((date.getMonth() + 3) / 3), //季度
		S: date.getMilliseconds() //毫秒
	}
	if (/(y+)/.test(fmt))
		fmt = fmt.replace(
			RegExp.$1,
			(date.getFullYear() + '').substr(4 - RegExp.$1.length)
		)
	for (var k in o)
		if (new RegExp('(' + k + ')').test(fmt))
			fmt = fmt.replace(
				RegExp.$1,
				RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)
			)
	return fmt
}

// 根据日期获取星期
export const getWeekday = function(value) {
	const days = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
	const d = new Date(value);
	const dayIndex = d.getDay();
	return days[dayIndex];
}

// 将yyyy-MM改为yyyy-MM-dd
export const formatToFirstDay = (value) => {
	console.log(111111);
	const date = new Date(value);
	  const year = date.getFullYear();
	  const month = String(date.getMonth() + 1).padStart(2, '0');
	  return `${year}-${month}-01`;
}